#ifndef __RTMP_PLAY_H__
#define __RTMP_PLAY_H__
#include <stdint.h>

#define  RTMP_SUCCESS 1
#define  RTMP_HANDLE_INVALID -1
#define  RTMP_URL_INVALID  -2
#define  RTMP_CONNETC_FAILED  -3
#define  RTMP_CONNETC_STREAM_FAILED  -4
#define  RTMP_SEND_ERROR -5


#define  RTMP_CODECID_MP3 2
#define  RTMP_CODECID_AAC 10
#define  RTMP_CODECID_AAC_LATM 11


#define LATM_HEADER     0x56e000        // 0x2b7 (11 bits)
#define LATM_MASK       0xFFE000        // top 11 bits
#define LATM_SIZE_MASK  0x001FFF        // bottom 13 bits

#ifdef __cplusplus
extern "C"
{
#endif
/*************************************************
Function:  RtmpPlayInit
Description:  初始化rtmp 
Return: // 函数返回值的说明 返回句柄
Others: // rtmp
*************************************************/
int64_t RtmpPlayInit(char* rtmp_url,void* param);

/*************************************************
Function:  RtmpPlayFree
Description:  释放rtmp 
Input:  handle 句柄
*************************************************/
void RtmpPlayFree(int64_t handle);

//RTMP 连接,返回RTMP_SUCCESS 成功 其他失败

/*************************************************
Function:  RtmpPlayConnect
Description:  发送播放
Input:  handle 句柄
		url  rtmp地址
Return: // 函数返回值的说明 RTMP_SUCCESS 成功 其他失败
Others: // 其它说明
*************************************************/
int RtmpPlayConnect(int64_t handle,char* url);


/*************************************************
Function:  SetRealCallBack
Description:  设置数据回调函数
Input:  handle 句柄
		url  rtmp地址
		nVideoType 解码是用的
Return: // 函数返回值的说明 RTMP_SUCCESS 成功 其他失败
Others: // 其它说明
*************************************************/
typedef void (*fRealCallBackVideo)(void* param,int64_t handle,char* data,int datalen,int nWidth,int nHeight,int bkey,int nTimeStamp,int nVideoType);
typedef void (*fRealCallBackAudio)(void* param,int64_t handle,char* data,int datalen,int nSampleRate,int nChannel,int nAudioType,int nTimeStamp);
void SetRealCallBack(fRealCallBackVideo RealCallBackVideo_,fRealCallBackAudio RealCallBackAudio_);



void get_rtmp_play_sps_pps(int64_t handle,char* sps,int* spslen,char* pps,int* ppslen);

#ifdef __cplusplus
};
#endif


#endif

